This R package provides a user-friendly interface for accessing data from the BRVM, which is a regional stock exchange serving multiple West African countries. With this package, users can easily retrieve historical stock price data, trading volumes, and other financial indicators for a variety of stocks traded on the BRVM.
The package is designed to simplify the process of gathering and
analyzing financial data, making it easier for researchers, investors,
and other users to extract insights and make informed decisions based on
the information available. Overall, BRVM library is a
valuable tool for anyone looking to gain a better understanding of the
BRVM and the financial markets in West Africa.
Ce package R fournit une interface conviviale pour accéder aux données de la BRVM, qui est une bourse régionale desservant plusieurs pays d’Afrique de l’Ouest. Avec ce package, les utilisateurs peuvent facilement récupérer des données historiques sur les prix des actions, les volumes de transactions et d’autres indicateurs financiers pour une variété d’actions négociées sur la BRVM.
Le package est conçu pour simplifier le processus de collecte et d’analyse de données financières, ce qui facilite la tâche des chercheurs, des investisseurs et d’autres utilisateurs pour extraire des informations et prendre des décisions éclairées en se basant sur les informations disponibles. Dans l’ensemble, notre package R est un outil précieux pour quiconque cherche à mieux comprendre la BRVM et les marchés financiers en Afrique de l’Ouest.
You can install the development version of BRVM from github with:
# github dev version
## We can use devtools
# install.packages("devtools")
devtools::install_github("Koffi-Fredysessie/BRVM")
# Or use remotes
# install.packages("remotes")
remotes::install_github("Koffi-Fredysessie/BRVM")
Since the size of the readme is huge due to the charts, you can visit the html version of the readme on RPubs
library(BRVM)
It receives no argument and returns BRVM tickers information such as its full name, sector and country.
# Display tickers of BRVM
tickers <- BRVM_ticker_desc()
tickers
| Ticker | Company name | Sector | Country |
|---|---|---|---|
| ABJC | SERVAIR ABIDJAN COTE D’IVOIRE | DISTRIBUTION | IVORY COAST |
| BICC | BICI COTE D’IVOIRE | FINANCE | IVORY COAST |
| BNBC | BERNABE COTE D’IVOIRE | DISTRIBUTION | IVORY COAST |
| BOAB | BANK OF AFRICA BENIN | FINANCE | BENIN |
| BOABF | BANK OF AFRICA BURKINA FASO | FINANCE | BURKINA FASO |
| BOAC | BANK OF AFRICA COTE D’IVOIRE | FINANCE | IVORY COAST |
| BOAM | BANK OF AFRICA MALI | FINANCE | MALI |
| BOAN | BANK OF AFRICA NIGER | FINANCE | NIGER |
| BOAS | BANK OF AFRICA SENEGAL | FINANCE | SENEGAL |
| CABC | SICABLE COTE D’IVOIRE | INDUSTRY | IVORY COAST |
| CBIBF | CORIS BANK INTERNATIONAL BURKINA FASO | FINANCE | BURKINA FASO |
| CFAC | CFAO MOTORS COTE D’IVOIRE | DISTRIBUTION | IVORY COAST |
| CIEC | CIE COTE D’IVOIRE | PUBLIC SERVICE | IVORY COAST |
| ECOC | ECOBANK COTE D’IVOIRE | FINANCE | IVORY COAST |
| ETIT | Ecobank Transnational Incorporated TOGO | FINANCE | TOGO |
| FTSC | FILTISAC COTE D’IVOIRE | INDUSTRY | IVORY COAST |
| NEIC | NEI-CEDA COTE D’IVOIRE | INDUSTRY | IVORY COAST |
| NSBC | NSIA BANQUE COTE D’IVOIRE | FINANCE | IVORY COAST |
| NTLC | NESTLE COTE D’IVOIRE | INDUSTRY | IVORY COAST |
| ONTBF | ONATEL BURKINA FASO | PUBLIC SERVICE | BURKINA FASO |
| ORAC | ORANGE COTE D’IVOIRE | PUBLIC SERVICE | IVORY COAST |
| ORGT | ORAGROUP TOGO | FINANCE | TOGO |
| PALC | PALM COTE D’IVOIRE | AGRICULTURE | IVORY COAST |
| PRSC | TRACTAFRIC MOTORS COTE D’IVOIRE | DISTRIBUTION | IVORY COAST |
| SAFC | SAFCA COTE D’IVOIRE | FINANCE | IVORY COAST |
| SCRC | SUCRIVOIRE COTE D’IVOIRE | AGRICULTURE | IVORY COAST |
| SDCC | SODE COTE D’IVOIRE | PUBLIC SERVICE | IVORY COAST |
| SDSC | BOLLORE TRANSPORT & LOGISTICS COTE D’IVOIRE | TRANSPORT | IVORY COAST |
| SEMC | CROWN SIEM COTE D’IVOIRE | INDUSTRY | IVORY COAST |
| SGBC | SOCIETE GENERALE COTE D’IVOIRE | FINANCE | IVORY COAST |
| SHEC | VIVO ENERGY COTE D’IVOIRE | DISTRIBUTION | IVORY COAST |
| SIBC | SOCIETE IVOIRIENNE DE BANQUE COTE D’IVOIRE | FINANCE | IVORY COAST |
| SICC | SICOR COTE D’IVOIRE | AGRICULTURE | IVORY COAST |
| SIVC | AIR LIQUIDE COTE D’IVOIRE | INDUSTRY | IVORY COAST |
| SLBC | SOLIBRA COTE D’IVOIRE | INDUSTRY | IVORY COAST |
| SMBC | SMB COTE D’IVOIRE | INDUSTRY | IVORY COAST |
| SNTS | SONATEL SENEGAL | PUBLIC SERVICE | SENEGAL |
| SOGC | SOGB COTE D’IVOIRE | AGRICULTURE | IVORY COAST |
| SPHC | SAPH COTE D’IVOIRE | AGRICULTURE | IVORY COAST |
| STAC | SETAO COTE D’IVOIRE | OTHER | IVORY COAST |
| STBC | SITAB COTE D’IVOIRE | INDUSTRY | IVORY COAST |
| SVOC | MOVIS COTE D’IVOIRE | TRANSPORT | IVORY COAST |
| TTLC | TOTAL COTE D’IVOIRE | DISTRIBUTION | IVORY COAST |
| TTLS | TOTAL SENEGAL | DISTRIBUTION | SENEGAL |
| TTRC | TRITURAF Ste en Liquid | INDUSTRY | IVORY COAST |
| UNLC | UNILEVER COTE D’IVOIRE | INDUSTRY | IVORY COAST |
| UNXC | UNIWAX COTE D’IVOIRE | INDUSTRY | IVORY COAST |
It receives no argument and returns a table of updated data (with as table header: indexes, previous closing, closing, change (%), Year to Date Change) on all the indices available on the BRVM exchange.
the_index <- BRVM_index()
the_index
| Indexes | Previous closing | Closing | Change (%) | Year to Date Change |
|---|---|---|---|---|
| BRVM-30 | 99.24 | 98.64 | -0.60 | 0.00 |
| BRVM - AGRICULTURE | 276.84 | 274.90 | -0.70 | -0.66 |
| BRVM - OTHER SECTOR | 1369.61 | 1455.98 | 6.31 | -7.32 |
| BRVM - COMPOSITE | 198.55 | 197.21 | -0.67 | 0.85 |
| BRVM - DISTRIBUTION | 347.46 | 346.73 | -0.21 | 0.69 |
| BRVM - FINANCE | 75.39 | 74.98 | -0.54 | -0.66 |
| BRVM - INDUSTRY | 98.50 | 96.93 | -1.59 | 0.92 |
| BRVM - PRESTIGE | 103.21 | 102.49 | -0.70 | 0.00 |
| BRVM - PRINCIPAL | 93.55 | 92.66 | -0.95 | 0.00 |
| BRVM - PUBLIC SERVICES | 473.20 | 469.77 | -0.72 | 2.23 |
| BRVM - TRANSPORT | 345.28 | 345.28 | 0.00 | 0.35 |
This function will get the data of the companies listed on the BVRM
stock exchange in Rich Bourse website. The function takes a single
parameter, .symbol (which represents the “Ticker”). The
function will automatically format tickers you enter in uppercase using
toupper() and then ensure that the passed ticker is in a Google
spreadsheet of allowed tickers.
#' Displaying data of SONATEL Senegal stock
BRVM_get(.symbol = "snts")
#> [1] "SNTS"
#> # A tibble: 250 × 6
#> Date Open High Low Close Volume
#> <date> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 2022-04-20 15900 15995 15895 15990 32322
#> 2 2022-04-21 15995 16000 15900 15995 35859
#> 3 2022-04-22 16000 16000 15990 15995 9525
#> 4 2022-04-25 15995 16000 15990 15990 4228
#> 5 2022-04-26 15990 16000 15950 15990 2520
#> 6 2022-04-27 15990 15990 15910 15915 5431
#> 7 2022-04-29 15950 15950 15920 15950 6743
#> 8 2022-05-03 15985 15985 15915 15945 1429
#> 9 2022-05-04 15945 15975 15920 15975 8574
#> 10 2022-05-05 15975 16000 15950 16000 47176
#> # … with 240 more rows
symbols <- c("BiCc","XOM","SlbC") # We use here three tickers
data_tbl <- BRVM_get(.symbol = symbols, .from = "2020-01-01", .to = Sys.Date() - 1)
#> [1] "BICC" "SLBC"
# Display the first twenty observations of the table
head(data_tbl, 20)
#> # A tibble: 20 × 7
#> Date Open High Low Close Volume Ticker
#> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <chr>
#> 1 2020-01-10 6500 6500 6500 6500 24 BICC
#> 2 2020-01-13 6370 6500 6370 6500 29 BICC
#> 3 2020-01-14 6495 6495 6495 6495 10 BICC
#> 4 2020-01-29 6010 6010 6010 6010 24 BICC
#> 5 2020-01-30 6000 6000 6000 6000 50 BICC
#> 6 2020-02-04 5800 5800 5800 5800 12 BICC
#> 7 2020-02-07 5650 5650 5650 5650 5 BICC
#> 8 2020-02-10 5500 5500 5500 5500 5 BICC
#> 9 2020-02-14 5300 5300 5300 5300 9 BICC
#> 10 2020-02-17 4910 4910 4910 4910 210 BICC
#> 11 2020-02-18 4910 4910 4910 4910 50 BICC
#> 12 2020-02-20 4895 4895 4895 4895 5 BICC
#> 13 2020-02-21 4895 4895 4890 4890 13 BICC
#> 14 2020-02-25 4525 4525 4525 4525 16 BICC
#> 15 2020-02-26 4435 4435 4430 4430 21 BICC
#> 16 2020-02-27 4345 4760 4335 4760 1809 BICC
#> 17 2020-03-03 4745 4750 4745 4750 11 BICC
#> 18 2020-03-05 4700 4700 4700 4700 5 BICC
#> 19 2020-03-06 4695 4695 4695 4695 6 BICC
#> 20 2020-03-11 4345 4450 4345 4450 135 BICC
# Display the last twenty elements of the table
tail(data_tbl, 20)
#> # A tibble: 20 × 7
#> Date Open High Low Close Volume Ticker
#> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <chr>
#> 1 2023-02-24 80000 80000 80000 80000 6 SLBC
#> 2 2023-02-27 80000 80000 80000 80000 98 SLBC
#> 3 2023-02-28 80000 80000 80000 80000 11 SLBC
#> 4 2023-03-02 80000 80000 80000 80000 11 SLBC
#> 5 2023-03-08 80000 80000 80000 80000 2 SLBC
#> 6 2023-03-09 80000 80000 80000 80000 2 SLBC
#> 7 2023-03-13 80005 80005 80000 80000 12 SLBC
#> 8 2023-03-14 80000 80000 80000 80000 1 SLBC
#> 9 2023-03-20 80000 80000 80000 80000 3 SLBC
#> 10 2023-03-21 80000 80000 80000 80000 4 SLBC
#> 11 2023-03-27 78000 80000 78000 80000 169 SLBC
#> 12 2023-03-28 80000 80000 80000 80000 435 SLBC
#> 13 2023-03-30 80000 80000 80000 80000 3 SLBC
#> 14 2023-03-31 80000 80000 80000 80000 1 SLBC
#> 15 2023-04-04 80000 86000 80000 86000 3 SLBC
#> 16 2023-04-05 85950 86000 85950 86000 6 SLBC
#> 17 2023-04-11 86000 86000 86000 86000 2 SLBC
#> 18 2023-04-12 87000 87000 86000 86000 10 SLBC
#> 19 2023-04-13 86000 86000 86000 86000 15 SLBC
#> 20 2023-04-14 86000 86000 86000 86000 234 SLBC
This function will get data of the companies listed on the BVRM stock
exchange through the sikafinance site. The function takes in a single
parameter of ticker and will auto-format the tickers you input into all
upper case by using toupper()
** NB : There is a small difference between the BRVM_get and BRVM_get1 functions. * With BRVM_get it is only possible to download tickers’ daily data. * But with BRVM_get1, you can download daily, weekly, monthly, annual tickers’ data, indices and even market capitalization.
#' Displaying data of SONATEL Senegal stock
BRVM_get1("snts")
#> [1] "We obtained SNTS data from 2023-01-23 to 2023-04-20"
#> # A tibble: 64 × 5
#> Date Open High Low Close
#> <date> <int> <int> <int> <int>
#> 1 2023-01-23 14895 15000 14895 15000
#> 2 2023-01-24 15000 15200 15000 15200
#> 3 2023-01-25 15100 15200 15100 15200
#> 4 2023-01-26 15200 15200 15200 15200
#> 5 2023-01-27 15200 15200 15200 15200
#> 6 2023-01-30 15100 15195 15100 15195
#> 7 2023-01-31 15195 15195 15195 15195
#> 8 2023-02-01 15200 15200 15195 15195
#> 9 2023-02-02 15190 15190 15190 15190
#> 10 2023-02-03 15100 15190 15100 15190
#> # … with 54 more rows
# Get daily data of all indexes
all_ind <- BRVM_get1("ALL INDEXES", Period = 0, from = "2020-01-04", to = "2023-03-24")
#> [1] "We obtained BRVM10 data from 2019-12-26 to 2023-01-04"
#> [1] "We obtained BRVMAG data from 2019-12-26 to 2023-03-24"
#> [1] "We obtained BRVMC data from 2019-12-26 to 2023-03-24"
#> [1] "We obtained BRVMAS data from 2019-12-26 to 2023-03-24"
#> [1] "We obtained BRVMDI data from 2019-12-26 to 2023-03-24"
#> [1] "We obtained BRVMFI data from 2019-12-26 to 2023-03-24"
#> [1] "We obtained BRVMIN data from 2019-12-26 to 2023-03-24"
#> [1] "We obtained BRVMSP data from 2019-12-26 to 2023-03-24"
#> [1] "We obtained BRVMTR data from 2019-12-26 to 2023-03-24"
#> [1] "We obtained BRVMPR data from 2023-01-01 to 2023-03-24"
#> [1] "We obtained BRVMPA data from 2023-01-04 to 2023-03-24"
#> [1] "We obtained BRVM30 data from 2023-01-01 to 2023-03-24"
#> [1] "We obtained CAPIB data from 2020-01-02 to 2023-03-24"
# display the first two tens elements of the table
head(all_ind, 20)
#> # A tibble: 20 × 7
#> Date Open High Low Close Volume Ticker
#> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <chr>
#> 1 2022-12-26 169. 169. 169. 169. 0 BRVM10
#> 2 2022-12-27 169. 169. 169. 169. 0 BRVM10
#> 3 2022-12-28 167. 167. 167. 167. 0 BRVM10
#> 4 2022-12-29 167. 167. 167. 167. 0 BRVM10
#> 5 2022-12-30 166. 166. 166. 166. 0 BRVM10
#> 6 2023-01-02 166. 166. 166. 166. 0 BRVM10
#> 7 2023-01-03 166. 166. 166. 166. 0 BRVM10
#> 8 2023-01-04 166. 166. 166. 166. 0 BRVM10
#> 9 2022-09-26 163. 163. 163. 163. 0 BRVM10
#> 10 2022-09-27 162. 162. 162. 162. 0 BRVM10
#> 11 2022-09-28 162. 162. 162. 162. 0 BRVM10
#> 12 2022-09-29 163. 163. 163. 163. 0 BRVM10
#> 13 2022-09-30 164. 164. 164. 164. 0 BRVM10
#> 14 2022-10-03 162. 162. 162. 162. 0 BRVM10
#> 15 2022-10-04 162. 162. 162. 162. 0 BRVM10
#> 16 2022-10-05 161. 161. 161. 161. 0 BRVM10
#> 17 2022-10-06 161. 161. 161. 161. 0 BRVM10
#> 18 2022-10-07 161. 161. 161. 161. 0 BRVM10
#> 19 2022-10-10 160. 160. 160. 160. 0 BRVM10
#> 20 2022-10-11 160. 160. 160. 160. 0 BRVM10
# display the two tens of the last elements of the table
tail(all_ind, 20)
#> # A tibble: 20 × 7
#> Date Open High Low Close Volume Ticker
#> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <chr>
#> 1 2020-02-26 4281311 4281311 4281311 4281311 0 CAPIB
#> 2 2020-02-27 4314933 4314933 4314933 4314933 0 CAPIB
#> 3 2020-02-28 4346515 4346515 4346515 4346515 0 CAPIB
#> 4 2020-03-02 4424073 4424073 4424073 4424073 0 CAPIB
#> 5 2020-03-03 4379647 4379647 4379647 4379647 0 CAPIB
#> 6 2020-03-04 4369550 4369550 4369550 4369550 0 CAPIB
#> 7 2020-03-05 4342229 4342229 4342229 4342229 0 CAPIB
#> 8 2020-03-06 4359879 4359879 4359879 4359879 0 CAPIB
#> 9 2020-03-09 4338293 4338293 4338293 4338293 0 CAPIB
#> 10 2020-03-10 4357221 4357221 4357221 4357221 0 CAPIB
#> 11 2020-03-11 4332656 4332656 4332656 4332656 0 CAPIB
#> 12 2020-03-12 4318096 4318096 4318096 4318096 0 CAPIB
#> 13 2020-03-13 4318112 4318112 4318112 4318112 0 CAPIB
#> 14 2020-03-16 4285184 4285184 4285184 4285184 0 CAPIB
#> 15 2020-03-17 4301727 4301727 4301727 4301727 0 CAPIB
#> 16 2020-03-18 4288582 4288582 4288582 4288582 0 CAPIB
#> 17 2020-03-19 4207231 4207231 4207231 4207231 0 CAPIB
#> 18 2020-03-20 4209788 4209788 4209788 4209788 0 CAPIB
#> 19 2020-03-23 4154445 4154445 4154445 4154445 0 CAPIB
#> 20 2020-03-24 4144325 4144325 4144325 4144325 0 CAPIB
# To get yearly data
yearly_data <- BRVM_get1(c("brvmtr", "BiCc", "BOAS"), Period = 365 )
# display the first two tens elements of the table
head(yearly_data, 20)
#> # A tibble: 20 × 6
#> Date Open High Low Close Ticker
#> <date> <dbl> <dbl> <dbl> <dbl> <chr>
#> 1 2003-04-25 74.0 88.6 73.6 88.6 BRVMTR
#> 2 2004-01-02 88.6 89.2 72.9 89.2 BRVMTR
#> 3 2005-01-03 89.2 107. 70.7 104. BRVMTR
#> 4 2006-01-02 104. 158. 104. 153. BRVMTR
#> 5 2007-01-02 153. 275. 149. 249. BRVMTR
#> 6 2008-01-02 249. 386. 226. 296. BRVMTR
#> 7 2009-01-02 275. 296. 227. 236. BRVMTR
#> 8 2010-01-04 236. 259. 224. 238. BRVMTR
#> 9 2011-01-03 238. 249. 204. 239 BRVMTR
#> 10 2012-01-02 239 349. 201. 349. BRVMTR
#> 11 2013-01-02 349. 794. 339. 789. BRVMTR
#> 12 2014-01-02 789. 1213. 601. 1213. BRVMTR
#> 13 2015-01-02 1213. 1525. 653. 1525. BRVMTR
#> 14 2016-01-04 1525. 1525. 1216. 1432. BRVMTR
#> 15 2017-01-02 1432. 1433. 764. 1203. BRVMTR
#> 16 2018-01-02 1114. 1193. 966. 966. BRVMTR
#> 17 2019-06-03 403. 429. 311. 367. BRVMTR
#> 18 2020-01-01 367. 475. 292. 379. BRVMTR
#> 19 2021-01-04 376. 622. 325 622. BRVMTR
#> 20 2022-01-03 667. 667. 295. 342. BRVMTR
# display the two tens of the last elements of the table
tail(yearly_data, 20)
#> # A tibble: 20 × 6
#> Date Open High Low Close Ticker
#> <date> <dbl> <dbl> <dbl> <dbl> <chr>
#> 1 2014-01-02 5650 7848 5650 7800 BICC
#> 2 2015-01-02 8385 10750 7800 10100 BICC
#> 3 2016-01-04 10000 10700 8566 9890 BICC
#> 4 2017-01-05 9750 10000 6440 8490 BICC
#> 5 2018-01-02 8700 8750 3795 7900 BICC
#> 6 2019-01-04 7550 7550 3710 6800 BICC
#> 7 2020-01-01 6800 6890 2855 6680 BICC
#> 8 2021-01-04 6680 7525 4280 7400 BICC
#> 9 2022-01-03 7250 7250 5550 6850 BICC
#> 10 2023-01-02 6500 6850 5785 6400 BICC
#> 11 2014-12-10 1613 3225 1613 3225 BOAS
#> 12 2015-01-02 3370 4300 2900 3950 BOAS
#> 13 2016-01-04 3700 4101 2000 2350 BOAS
#> 14 2017-01-02 2325 3875 2035 2500 BOAS
#> 15 2018-01-02 2400 3250 1700 2020 BOAS
#> 16 2019-01-02 1900 2000 1500 1545 BOAS
#> 17 2020-01-01 1550 1700 1295 1495 BOAS
#> 18 2021-01-04 1480 2750 1340 2350 BOAS
#> 19 2022-01-03 2350 2780 2200 2450 BOAS
#> 20 2023-01-02 2580 2585 2175 2395 BOAS
It receives no argument and returns the name of all indexes available on BRVM Stock Exchange.
BRVM.index()
#> [1] "BRVMAG" "BRVMC" "BRVMAS" "BRVMDI" "BRVMFI" "BRVMIN" "BRVMSP" "BRVMTR"
#> [9] "BRVMPR" "BRVMPA" "BRVM30"
This function will take in the name of sector(s) and returns data for companies belonging to that/those sector(s)
# Get informations about brvm sectors like other and agriculture sectors
BRVM_bySector(.sectors = c("Other", "Agriculture"))
#> [1] "There is 1 company that belongs to Other's sector"
#> # A tibble: 1 × 6
#> Ticker Volume `Previous price` Open Close `Change (%)`
#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 STAC 150 1180 1150 1180 6.31
#> [1] "There are 5 companies that belong to Agriculture's sector"
#> # A tibble: 5 × 6
#> Ticker Volume `Previous price` Open Close `Change (%)`
#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 PALC 1900 10950 10940 10995 0.41
#> 2 SCRC 291 650 650 695 -0.71
#> 3 SICC 0 6385 0 6385 0
#> 4 SOGC 1851 5495 5400 5390 -1.91
#> 5 SPHC 175 4550 4550 4500 -1.1
#> # A tibble: 6 × 8
#> Ticker `Company name` Volume Previous p…¹ Open Close Chang…² Sector
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <chr>
#> 1 STAC SETAO COTE D'IVOIRE 150 1180 1150 1180 6.31 Other
#> 2 PALC PALM COTE D'IVOIRE 1900 10950 10940 10995 0.41 Agric…
#> 3 SCRC SUCRIVOIRE COTE D'IVOIRE 291 650 650 695 -0.71 Agric…
#> 4 SICC SICOR COTE D'IVOIRE 0 6385 0 6385 0 Agric…
#> 5 SOGC SOGB COTE D'IVOIRE 1851 5495 5400 5390 -1.91 Agric…
#> 6 SPHC SAPH COTE D'IVOIRE 175 4550 4550 4500 -1.1 Agric…
#> # … with abbreviated variable names ¹`Previous price`, ²`Change (%)`
This function receives as input a day of the week (working day) and returns the official quotation revews of that day. * .weekday : A quoted date, ie. “2022-01-31” or “2022/01/31”. The date must be in ymd format “YYYY-MM-DD” or “YYYY/MM/DD”. Must not be a weekend or a holiday.
# The BOC of 2022-02-23
BRVM_stock_market("2022-02-23")
| Ticker | Equity | Volume | Value | Previous price | Open | Close | Change (%) | Annual change (%) | Reference price | Low | High | Net Income | Date | Compartment | Yield Net (%) | PER |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| INDUSTRY SECTOR | -4.85% | NA | ||||||||||||||
| CABC | SICABLE CI | 517 | 665880 | 1225 | 1225 | 1225 | 0 | 20.69 | 1225 | 1000 | 1030 | 133.00 | 02/08/2021 | 1er | 10.86 | 6.22 |
| FTSC | FILTISAC CI | 840 | 1343210 | 1560 | 1600 | 1600 | -2.5 | -7.14 | 1600 | 17020 | 19780 | 235.00 | 31/08/2021 | 1er | 14.69 | 6.35 |
| NEIC | NEI-CEDA CI | 10866 | 8915565 | 880 | 875 | 850 | -7.37 | 40.80 | 950 | 33 | 37 | 9.00 | 28/06/2021 | 1er | 0.00 | 15.14 |
| NTLC | NESTLE CI | 207 | 1168515 | 5645 | 5640 | 5645 | -0.09 | 22.58 | 5650 | 1850 | 2140 | 363.67 | 30/07/2021 | 2eme | 6.44 | 5.97 |
| SEMC | CROWN SIEM CI | 602 | 445980 | 730 | 750 | 750 | 2.74 | -1.96 | 730 | 12835 | 14915 | 14.40 | 28/12/2021 | 2eme | 1.97 | 24.97 |
| SIVC | AIR LIQUIDE CI | 1549 | 1255650 | 925 | 900 | 860 | -7.03 | -3.91 | 925 | 3980 | 4620 | 63.00 | 29/09/2020 | 1er | 0.00 | 0.00 |
| SLBC | SOLIBRA CI | 167700 | 160000 | 167700 | 4.81 | 7.50 | 160000 | 115625 | 134375 | 2736.00 | 03/08/2021 | 1er | 1.71 | 15.03 | ||
| SMBC | SMB CI | 144 | 1069980 | 7495 | 7495 | 7495 | 4.83 | 8.62 | 7150 | 7770 | 9030 | 810.00 | 15/07/2021 | 1er | 11.33 | 5.93 |
| STBC | SITAB CI | 111 | 961900 | 5800 | 5800 | 5800 | 0 | -6.15 | 5800 | 72150 | 83850 | 445.12 | 22/07/2021 | 1er | 7.52 | 12.19 |
| TTRC | TRITURAF CI | 0 | 490 | NC | NC | 0 | 0.00 | 490 | 455 | 525 | 1440.00 | 19/07/2019 | 2eme | 0.00 | 0.00 | |
| UNLC | UNILEVER CI | 0 | 0 | 4850 | NC | NC | 0 | -0.82 | 4850 | 7865 | 9135 | 1233.00 | 09/07/2020 | 2eme | 0.00 | 0.00 |
| UNXC | UNIWAX CI | 808 | 1683980 | 2085 | 2085 | 2085 | -0.24 | 4.25 | 2090 | 3885 | 4515 | 18.00 | 16/08/2021 | 2eme | 0.86 | 117.28 |
| TOTAL | 15644 | 17510660 | NA | |||||||||||||
| PUBLIC SERVICES SECTOR | -6.94% | NA | ||||||||||||||
| CIEC | CIE CI | 4192 | 8773320 | 2095 | 2100 | 2095 | -0.24 | 10.55 | 2100 | 1840 | 1695 | 153.16 | 25/07/2021 | 1er | 7.96 | 7.27 |
| ONTBF | ONATEL BF | 1238 | 5221520 | 4240 | 4210 | 4240 | 0.71 | 7.48 | 4210 | 6245 | 7255 | 399.56 | 01/06/2021 | 1er | 9.49 | 9.22 |
| SDCC | SODECI | 1285 | 4897025 | 4050 | 4100 | 3750 | -7.41 | -12.69 | 4050 | 39775 | 46225 | 337.50 | 27/08/2021 | 1er | 8.33 | 8.46 |
| SNTS | SONATEL SN | 17445 | 255870465 | 14650 | 14650 | 14650 | 0 | 4.83 | 14650 | 20305 | 23595 | 1225.00 | 21/05/2021 | 1er | 8.36 | 7.28 |
| TOTAL | 24160 | 274762330 | NA | |||||||||||||
| FINANCE SECTOR | -16.09% | NA | ||||||||||||||
| BICC | BICICI | 1275 | 7901650 | 6200 | 6200 | 6010 | -3.06 | -18.78 | 6200 | 7865 | 6090 | 50.00 | 15/07/2021 | 1er | 0.81 | 22.12 |
| BOAB | BOA BENIN | 3524 | 21132470 | 5995 | 5995 | 5995 | -0.08 | 13.11 | 6000 | 6475 | 5100 | 436.00 | 20/05/2021 | 1er | 7.27 | 9.14 |
| BOABF | BOA BURKINA FASO | 307 | 1903400 | 6200 | 6195 | 6200 | 0 | 0.00 | 6200 | 6750 | 4900 | 370.00 | 03/05/2021 | 1er | 5.97 | 7.75 |
| BOAC | BOA CI | 143 | 772200 | 5490 | 5490 | 5400 | -1.64 | -7.77 | 5490 | 3885 | 4495 | 315.00 | 12/05/2021 | 1er | 5.74 | 7.72 |
| BOAM | BOA MALI | 342 | 481920 | 1430 | 1400 | 1450 | 1.4 | -2.36 | 1430 | 21645 | 3060 | 1er | 0.00 | 49.53 | ||
| BOAN | BOA NIGER | 571 | 3399875 | 6015 | 6000 | 6015 | 0.25 | 17.94 | 6000 | 3610 | 4600 | 429.66 | 06/05/2021 | 1er | 7.16 | 10.51 |
| BOAS | BOA SENEGAL | 867 | 2145825 | 2475 | 2475 | 2475 | 0.2 | 5.32 | 2470 | 2270 | 2495 | 161.01 | 06/07/2021 | 1er | 6.52 | 7.73 |
| CBIBF | CORIS BANK INTERNATIONAL BF | 282 | 2909300 | 10800 | 10250 | 10800 | 0 | 2.86 | 10800 | 8605 | 2495 | 1er | 3.76 | 10.05 | ||
| ECOC | ECOBANK CI | 7784 | 33865535 | 4500 | 4500 | 4500 | -2.07 | -5.96 | 4595 | 14800 | 189 | 1er | 6.40 | 8.43 | ||
| ETIT | ECOBANK TRANSNATIONAL INCORPORATED (ETI TG) | 248019 | 5129708 | 20 | 20 | 20 | 0 | 11.11 | 20 | 23 | 22 | 1.21 | 28/04/2021 | 1er | 0.00 | 1.87 |
| NSBC | NSIA BANQUE CI | 335 | 1926200 | 5750 | 5750 | 5750 | 0 | -7.03 | 5750 | 14800 | 189 | 1er | 1.35 | 19.75 | ||
| ORGT | ORAGROUP TG | 982 | 3829065 | 3900 | 3900 | 3900 | -4.06 | -6.92 | 4065 | 14800 | 189 | 1er | 1.46 | 29.89 | ||
| SAFC | SAFCA CI | 132 | 131340 | 1160 | 1160 | 1075 | -7.33 | 26.47 | 1160 | 5740 | 5740 | 23.04 | 29/07/2021 | 1er | 0.00 | 0.00 |
| SGBC | SGCI | 534 | 6885855 | 6885855 | 13105 | 12995 | -0.84 | 22.65 | 13105 | 11990 | 11840 | 368.30 | 30/06/2021 | 1er | 2.81 | 6.05 |
| SIBC | SIB CI | 3339 | 13466125 | 3955 | 3955 | 4000 | 1.14 | 0.38 | 3955 | 14800 | 189 | 1er | 9.10 | 6.53 | ||
| TOTAL | 268436 | 105880468 | NA | |||||||||||||
| TRANSPORT SECTOR | 0.00% | NA | ||||||||||||||
| SDSC | BOLLORE TRANSPORT & LOGISTICS CI | 45 | 113000 | 2500 | 2400 | 2500 | 0 | -2.72 | 2550 | 3935 | 3695 | 100.00 | 11/08/2021 | 1er | 4.00 | 10.11 |
| SVOC | MOVIS CI | 0 | 0 | 2395 | NC | NC | 0 | 0.00 | 2395 | 2965 | 2900 | 270.00 | 23/07/2021 | 2eme | 0.00 | 0.00 |
| TOTAL | 45 | 113000 | NA | |||||||||||||
| AGRICULTURE SECTOR | -12.42% | NA | ||||||||||||||
| PALC | PALM CÔTE D’IVOIRE | 1310 | 11723360 | 9420 | 9295 | 8900 | -0.16 | 34.76 | 9435 | 5250 | 4800 | 1236.34 | 31/08/2021 | 2eme | 1.09 | 41.42 |
| SCRC | SUCRIVOIRE CI | 11629 | 11117870 | 1015 | 1075 | 1015 | -7.31 | 5.73 | 1095 | 735 | 1005 | 1er | 3.70 | 12.00 | ||
| SICC | SICOR CI | 4 | 21500 | 5320 | 5500 | 5000 | -6.02 | -2.34 | 5320 | 3655 | 3530 | 1919.00 | 25/09/2020 | 1er | 0.00 | 3.23 |
| SOGC | SOGB CI | 517 | 2810115 | 5500 | 5495 | 5500 | 0.09 | 10.00 | 5495 | 3795 | 2900 | 541.81 | 21/07/2021 | 1er | 4.55 | 15.51 |
| SPHC | SAPH CI | 1169 | 5962125 | 5150 | 5145 | 5150 | 0.98 | -0.87 | 5100 | 2740 | 2800 | 132.30 | 24/08/2021 | 1er | 2.59 | 17.46 |
| TOTAL | 14629 | 31634970 | NA | |||||||||||||
| DISTRIBUTION SECTOR | -1.84% | NA | ||||||||||||||
| ABJC | SERVAIR ABIDJAN CI | 1000 | 1643825 | 1650 | 1640 | 1650 | -5.44 | -5.71 | 1745 | 1148 | 1005 | 164.96 | 30/09/2020 | 1er | 0.00 | 0.00 |
| BNBC | BERNABE CI | 1088 | 2615160 | 2395 | 2395 | 2500 | 4.38 | 14.94 | 2395 | 576 | 1200 | 45.00 | 30/09/2019 | 1er | 0.00 | 25.18 |
| CFAC | CFAO MOTORS CI | 198 | 232590 | 1160 | 1160 | 1200 | 0 | -2.52 | 1160 | 605 | 430 | 22.15 | 15/07/2021 | 2eme | 1.91 | 55.67 |
| PRSC | TRACTAFRIC MOTORS CI | 252 | 1158140 | 4600 | 4600 | 4600 | 0 | 9.52 | 4600 | 10 | 2800 | 162.90 | 02/09/2021 | 1er | 3.54 | 25.28 |
| SHEC | VIVO ENERGY CI | 158 | 147150 | 925 | 925 | 925 | -0.54 | 7.56 | 930 | 1172 | 585 | 63.90 | 26/11/2020 | 2eme | 6.80 | 0.00 |
| TTLC | TOTAL CI | 8600 | 18586860 | 2160 | 2200 | 2160 | 0 | 2.86 | 2160 | 1961 | 1475 | 109.31 | 27/09/2021 | 1er | 5.06 | 17.78 |
| TTLS | TOTAL SN | 1648 | 3486710 | 2095 | 2100 | 2095 | -0.24 | 6.08 | 2100 | 1634 | 1445 | 223.60 | 30/09/2021 | 1er | 10.65 | 11.28 |
| TOTAL | 12944 | 27870435 | NA | |||||||||||||
| OTHER SECTOR | -7.48% | NA | ||||||||||||||
| STAC | SETAO CI | 6517 | 10304135 | 1805 | 1670 | 1670 | -7.48 | 147.26 | 1805 | 281 | 565 | 2eme | 3.66 | 10.45 | ||
| TOTAL | 6517 | 10304135 | NA | |||||||||||||
| TOTAL - Equities market | 342375 | 468075998 | NA |
This function will get Ticker(s) data and then plot it.
chart <- BRVM_plot("BICC") # The default colors for the up and down are green and
#> [1] "BICC"
#chart
#It is also possible to plot stock data chart for more than one ticker
#Let's plot BICC, ETIT and BOAM stock data
chart1 <- BRVM_plot(c("BICC","ETIT", "BOAM"))
#> [1] "BICC" "ETIT" "BOAM"
# chart1
BRVM_plot: For one ticker, you can also specify your color likeBRVM_plot("boas", up.col = "blue", down.col = "pink")for example
It receives the ticker of a company listed on the BRVM stock exchange, Turn to upper case the input by using toupper() and returns informations about the company’s RSI, Beta, Closing price, etc. .
# Get informations such us beta, RSI, Closing, Valorisation, etc. of Bank Of Africa Senegal
inform <- BRVM_company_info("BOAS")
inform
| Informations | Values |
|---|---|
| Volume (titres) | 17 |
| Volume (XOF ) | 40 800 |
| Ouverture | 2 400 |
| Plus haut | 2 400 |
| Plus bas | 2 400 |
| Clôture veille | 2 395 |
| Beta 1 an | 0,09 |
| RSI | 58,00 |
| Capital échangé | 0,00% |
| Valorisation | 57 600 MXOF |
- BRVM_cap() : receives no argument and returns informations about BRVM capitalization
capit_ <- BRVM_cap()
capit_
#> [1] "Make sure you have an active internet connection"
| x |
|---|
| Make sure you have an active internet connection |
- BRVM_company_rank() : returns companies rank from the BRVM Bourse exchange according to their daily change (variation).
comp.rank <- BRVM_company_rank() #Get companies rank
comp.rank <- comp.rank%>%
arrange(desc(percent_change)) #Describe in decreasing order
comp.rank
| ticker | company_name | percent_change | rank |
|---|---|---|---|
| STAC | SETAO COTE D’IVOIRE | 6.31 | 1.0 |
| CABC | SICABLE COTE D’IVOIRE | 5.58 | 2.0 |
| ABJC | SERVAIR ABIDJAN COTE D’IVOIRE | 2.48 | 3.0 |
| BOAM | BANK OF AFRICA MALI | 0.81 | 4.0 |
| UNXC | UNIWAX COTE D’IVOIRE | 0.66 | 5.0 |
| PALC | PALM COTE D’IVOIRE | 0.41 | 6.0 |
| SNTS | SONATEL SENEGAL | 0.32 | 7.0 |
| BOAS | BANK OF AFRICA SENEGAL | 0.21 | 8.0 |
| BOAN | BANK OF AFRICA NIGER | 0.08 | 9.0 |
| BICC | BICI COTE D’IVOIRE | 0.00 | 21.0 |
| BNBC | BERNABE COTE D’IVOIRE | 0.00 | 21.0 |
| BOABF | BANK OF AFRICA BURKINA FASO | 0.00 | 21.0 |
| CBIBF | CORIS BANK INTERNATIONAL BURKINA FASO | 0.00 | 21.0 |
| CFAC | CFAO MOTORS COTE D’IVOIRE | 0.00 | 21.0 |
| ETIT | Ecobank Transnational Incorporated TOGO | 0.00 | 21.0 |
| FTSC | FILTISAC COTE D’IVOIRE | 0.00 | 21.0 |
| NEIC | NEI-CEDA COTE D’IVOIRE | 0.00 | 21.0 |
| NTLC | NESTLE COTE D’IVOIRE | 0.00 | 21.0 |
| ORGT | ORAGROUP TOGO | 0.00 | 21.0 |
| PRSC | TRACTAFRIC MOTORS COTE D’IVOIRE | 0.00 | 21.0 |
| SAFC | SAFCA COTE D’IVOIRE | 0.00 | 21.0 |
| SDSC | BOLLORE TRANSPORT & LOGISTICS COTE D’IVOIRE | 0.00 | 21.0 |
| SEMC | CROWN SIEM COTE D’IVOIRE | 0.00 | 21.0 |
| SGBC | SOCIETE GENERALE COTE D’IVOIRE | 0.00 | 21.0 |
| SHEC | VIVO ENERGY COTE D’IVOIRE | 0.00 | 21.0 |
| SICC | SICOR COTE D’IVOIRE | 0.00 | 21.0 |
| SMBC | SMB COTE D’IVOIRE | 0.00 | 21.0 |
| STBC | SITAB COTE D’IVOIRE | 0.00 | 21.0 |
| SVOC | MOVIS COTE D’IVOIRE | 0.00 | 21.0 |
| TTLC | TOTAL COTE D’IVOIRE | 0.00 | 21.0 |
| TTRC | TRITURAF Ste en Liquid | 0.00 | 21.0 |
| UNLC | UNILEVER COTE D’IVOIRE | 0.00 | 21.0 |
| BOAB | BANK OF AFRICA BENIN | -0.08 | 33.0 |
| CIEC | CIE COTE D’IVOIRE | -0.24 | 34.0 |
| SDCC | SODE COTE D’IVOIRE | -0.39 | 35.0 |
| SCRC | SUCRIVOIRE COTE D’IVOIRE | -0.71 | 36.0 |
| NSBC | NSIA BANQUE COTE D’IVOIRE | -1.04 | 37.0 |
| ORAC | ORANGE COTE D’IVOIRE | -1.06 | 38.0 |
| SPHC | SAPH COTE D’IVOIRE | -1.10 | 39.0 |
| BOAC | BANK OF AFRICA COTE D’IVOIRE | -1.44 | 40.5 |
| SIBC | SOCIETE IVOIRIENNE DE BANQUE COTE D’IVOIRE | -1.44 | 40.5 |
| TTLS | TOTAL SENEGAL | -1.54 | 42.0 |
| SOGC | SOGB COTE D’IVOIRE | -1.91 | 43.0 |
| ECOC | ECOBANK COTE D’IVOIRE | -2.60 | 44.0 |
| SIVC | AIR LIQUIDE COTE D’IVOIRE | -3.20 | 45.0 |
| ONTBF | ONATEL BURKINA FASO | -6.35 | 46.0 |
| SLBC | SOLIBRA COTE D’IVOIRE | -6.98 | 47.0 |
- BRVM_direction(“.up_or_down”) : Takes ‘Up’ or ‘Down’ and returns respectively n results for the top or flop ranking of the BRVM tickers.
# Rank in increasing order the price of shares listed on the BRVM according to daily variations.
brvm_down <- BRVM_direction("Down")
brvm_down
| Symbole | Nom | Variation (%) |
|---|---|---|
| SLBC | SOLIBRA COTE D’IVOIRE | -6.98 |
| ONTBF | ONATEL BURKINA FASO | -6.35 |
| SIVC | AIR LIQUIDE COTE D’IVOIRE | -3.20 |
| ECOC | ECOBANK COTE D’IVOIRE | -2.60 |
| SOGC | SOGB COTE D’IVOIRE | -1.91 |
| TTLS | TOTAL SENEGAL | -1.54 |
| BOAC | BANK OF AFRICA COTE D’IVOIRE | -1.44 |
| SIBC | SOCIETE IVOIRIENNE DE BANQUE COTE D’IVOIRE | -1.44 |
| SPHC | SAPH COTE D’IVOIRE | -1.10 |
| ORAC | ORANGE COTE D’IVOIRE | -1.06 |
| NSBC | NSIA BANQUE COTE D’IVOIRE | -1.04 |
| SCRC | SUCRIVOIRE COTE D’IVOIRE | -0.71 |
| SDCC | SODE COTE D’IVOIRE | -0.39 |
| CIEC | CIE COTE D’IVOIRE | -0.24 |
| BOAB | BANK OF AFRICA BENIN | -0.08 |
| BICC | BICI COTE D’IVOIRE | 0.00 |
| BNBC | BERNABE COTE D’IVOIRE | 0.00 |
| BOABF | BANK OF AFRICA BURKINA FASO | 0.00 |
| CBIBF | CORIS BANK INTERNATIONAL BURKINA FASO | 0.00 |
| CFAC | CFAO MOTORS COTE D’IVOIRE | 0.00 |
| ETIT | Ecobank Transnational Incorporated TOGO | 0.00 |
| FTSC | FILTISAC COTE D’IVOIRE | 0.00 |
| NEIC | NEI-CEDA COTE D’IVOIRE | 0.00 |
| NTLC | NESTLE COTE D’IVOIRE | 0.00 |
| ORGT | ORAGROUP TOGO | 0.00 |
| PRSC | TRACTAFRIC MOTORS COTE D’IVOIRE | 0.00 |
| SAFC | SAFCA COTE D’IVOIRE | 0.00 |
| SDSC | BOLLORE TRANSPORT & LOGISTICS COTE D’IVOIRE | 0.00 |
| SEMC | CROWN SIEM COTE D’IVOIRE | 0.00 |
| SGBC | SOCIETE GENERALE COTE D’IVOIRE | 0.00 |
| SHEC | VIVO ENERGY COTE D’IVOIRE | 0.00 |
| SICC | SICOR COTE D’IVOIRE | 0.00 |
| SMBC | SMB COTE D’IVOIRE | 0.00 |
| STBC | SITAB COTE D’IVOIRE | 0.00 |
| SVOC | MOVIS COTE D’IVOIRE | 0.00 |
| TTLC | TOTAL COTE D’IVOIRE | 0.00 |
| TTRC | TRITURAF Ste en Liquid | 0.00 |
| UNLC | UNILEVER COTE D’IVOIRE | 0.00 |
| BOAN | BANK OF AFRICA NIGER | 0.08 |
| BOAS | BANK OF AFRICA SENEGAL | 0.21 |
| SNTS | SONATEL SENEGAL | 0.32 |
| PALC | PALM COTE D’IVOIRE | 0.41 |
| UNXC | UNIWAX COTE D’IVOIRE | 0.66 |
| BOAM | BANK OF AFRICA MALI | 0.81 |
| ABJC | SERVAIR ABIDJAN COTE D’IVOIRE | 2.48 |
| CABC | SICABLE COTE D’IVOIRE | 5.58 |
| STAC | SETAO COTE D’IVOIRE | 6.31 |
- BRVM_rank : receives “top” or “flop” and a number ‘n’ and returns table of companies classification
top_or_flop : Choose between “top” or “flop”
n : is the number of companies in the classification
#To get top 15
BRVM_rank("top", 15)
#> # A tibble: 15 × 3
#> Ticker Name `Change (%)`
#> <chr> <chr> <dbl>
#> 1 STAC SETAO COTE D'IVOIRE 6.31
#> 2 CABC SICABLE COTE D'IVOIRE 5.58
#> 3 ABJC SERVAIR ABIDJAN COTE D'IVOIRE 2.48
#> 4 BOAM BANK OF AFRICA MALI 0.81
#> 5 UNXC UNIWAX COTE D'IVOIRE 0.66
#> 6 PALC PALM COTE D'IVOIRE 0.41
#> 7 SNTS SONATEL SENEGAL 0.32
#> 8 BOAS BANK OF AFRICA SENEGAL 0.21
#> 9 BOAN BANK OF AFRICA NIGER 0.08
#> 10 BICC BICI COTE D'IVOIRE 0
#> 11 BNBC BERNABE COTE D'IVOIRE 0
#> 12 BOABF BANK OF AFRICA BURKINA FASO 0
#> 13 CBIBF CORIS BANK INTERNATIONAL BURKINA FASO 0
#> 14 CFAC CFAO MOTORS COTE D'IVOIRE 0
#> 15 ETIT Ecobank Transnational Incorporated TOGO 0
#To get flop 5
BRVM_rank("flop", 5)
#> # A tibble: 5 × 3
#> Ticker Name `Change (%)`
#> <chr> <chr> <dbl>
#> 1 SLBC SOLIBRA COTE D'IVOIRE -6.98
#> 2 ONTBF ONATEL BURKINA FASO -6.35
#> 3 SIVC AIR LIQUIDE COTE D'IVOIRE -3.2
#> 4 ECOC ECOBANK COTE D'IVOIRE -2.6
#> 5 SOGC SOGB COTE D'IVOIRE -1.91
- company_traded_val(“company”) : receives one company listed on the BRVM stock exchange, Turn to upper case the input by using toupper() and returns informations about the company’s traded value
company_traded_val("ontbf") # Traded value of ONATEL BURKINA FASO
#> [1] "12 968 975"
Authors :
Creator : Koffi Frederic Sessie
cph (Copyright Holder) : Koffi Frederic Sessie
License : MIT 2023, BRVM authors. All rights reserved.